basic of system design